#!/usr/bin/env sh
# 指定脚本执行环境为POSIX兼容的Shell（如bash、sh），确保跨系统（Linux/macOS）可正常运行

. "$(dirname -- "$0")/_/husky.sh"
# 加载Husky的核心脚本（_/husky.sh），建立当前钩子脚本与Husky的关联
# $(dirname -- "$0") 用于获取当前脚本所在目录，确保能正确找到husky.sh文件
# 加载后才能让Husky管理此钩子，实现Git提交时自动触发校验

npx --no -- commitlint --edit "$1"
# 执行commitlint工具，校验Git提交信息是否符合配置规则
# 各参数说明：
# - npx：临时执行commitlint（无需全局安装）
# - --no：阻止npx自动安装缺失的包，若commitlint未安装则直接报错
# - commitlint：调用commitlint命令行工具
# - --edit "$1"：指定要校验的提交信息文件（$1是Git传入的提交信息临时文件路径）
# 作用：在提交信息写入时自动校验，若不符合规则（如type错误、格式不对），则阻断提交并提示修正